PROJECT = "CHAGNE_8_CH"
VERSION = "1.0.1"									-- 固件版本，用于远程升级，版本号必须大于当前使用的版本
HARDVER = "2.0.1"									-- 硬件版本，用于远程升级，版本号必须与当前使用的版本一致
PRODUCT_KEY = "v32xEAKsGTIEQxtqgwCldp5aPlcnPs3K"

-- 日志级别
require "log"
LOG_LEVEL = log.LOGLEVEL_TRACE
require "sys"
require "utils"
require "patch"
require "pins"
require "update"
require "errDump"
require "nvm"
-- 系统工具
require "misc"
require "errDump"

-- 时间同步
require "ntp"
-- SOCKET1
require "socket1"

-- USART
require "usart"

-- EEPROM
require "k24c02"

-- 74HC595
require "hc595"

-- HANDEL
require "handle"

-- USB USART
require "usb"
require "netLed"
require "console"
-- 加载GSM
require "net"
--8秒后查询第一次csq
net.startQueryAll(8 * 1000, 600 * 1000)

-- 定时升级请求
update.request(nil,"http://xxxxxx/api/dev/DtuUpdate",10*60*1000,true)				-- 升级请求，10分钟请求一次，合宙平台请求失败时，去请求阿里云

--此处关闭RNDIS网卡功能
--否则，模块通过USB连接电脑后，会在电脑的网络适配器中枚举一个RNDIS网卡，电脑默认使用此网卡上网，导致模块使用的sim卡流量流失
--如果项目中需要打开此功能，把ril.request("AT+RNDISCALL=0,1")修改为ril.request("AT+RNDISCALL=1,1")即可
--注意：core固件：V0030以及之后的版本、V3028以及之后的版本，才以稳定地支持此功能
ril.request("AT+RNDISCALL=0,1")

-- 控制台

console.setup(2, 115200)

--加载网络指示灯和LTE指示灯功能模块
--根据自己的项目需求和硬件配置决定：1、是否加载此功能模块；2、配置指示灯引脚
--合宙官方出售的Air720U开发板上的网络指示灯引脚为pio.P0_1，LTE指示灯引脚为pio.P0_4

pmd.ldoset(2,pmd.LDO_VLCD)
netLed.setup(true,pio.P0_1,pio.P0_4)
--网络指示灯功能模块中，默认配置了各种工作状态下指示灯的闪烁规律，参考netLed.lua中ledBlinkTime配置的默认值
--如果默认值满足不了需求，此处调用netLed.updateBlinkTime去配置闪烁时长
--LTE指示灯功能模块中，配置的是注册上4G网络，灯就常亮，其余任何状态灯都会熄灭


-- 24小时同步1次，同步成功后执行fnc()
-- 可以在回调函数中添加MCU设备的时间同步
ntp.timeSync(
	1,	-- 代表小时
	function()
		local tm = misc.getClock()
		log.info("每隔1小时同步一次时间")	
    	log.info(string.format("%04d/%02d/%02d,%02d:%02d:%02d", tm.year, tm.month, tm.day, tm.hour, tm.min, tm.sec))
		-- 此处可以添加MCU设备的时间同步处理

	end
)

-- 加载错误日志管理功能模块
errDump.setNetworkLog(true)							
errDump.request("udp://ota.airm2m.com:9072")

-- 启动系统框架
sys.init(0, 0)
sys.run()
